home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 March
/
EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso
/
earcd
/
faq
/
kjvcbibl.lha
/
cbible
/
ThinkerDemo
< prev
next >
Wrap
Text File
|
1993-09-28
|
57KB
|
1,167 lines
Press the Help key for info on this text reader, then press
Help again to escape from Help.
Introduction
This file is a very abbreviated version of the Thinker manual.
It is intended only to help in using the demo version of
Thinker. The Demo version of Thinker cannot save any changes
to files, does not import or export ASCII, nor does it print.
Creating a new file will write on your disk and will in fact
create a new Thinker document with a single statement
(The copyright notice).
******************************************************************
******************************************************************
This disk has been updated for Thinker Release 2.2. See the
Thinker project "UPDATES" to see what has changed since the
last release of this demo. Lots of exciting new stuff!!!
Documentation for The ARexx interface is not included in this
demo package.
******************************************************************
Thinker is available for $80 from:
Poor Person Software
3721 Starr King Circle
Palo Alto, CA 94306
(415)-493-7234
Thinker is available at many Amiga stores and mailorder houses.
Source for Tinydraw is available on request at no charge.
*******************************************************************
Introduction to Hypertext
Thinker can trace its heritage all the way back to Doug
Englebart's work at SRI's Augmentation Research Laboratory. By
combining elements of text processing, outline processing, and
hypertext, Thinker becomes an Idea Processor that embodies the
basics of Doug's ideas for augmenting the human intellect.
What is HyperText?
Footnotes are a form of HyperText. Within the body of the text
is a directive to look somewhere else in the text for more
information. With footnotes the directive is a footnote number
while in HyperText the directive is in the form of a character
string that "names" another section of the text. In order for
HyperText to work the text is divided into sections and each
section has a label.
One often encounters this form of textual link when a phrase like
"See Chapter 2, section 1" appears in the text. This type of
link is good but can be carried further. Imagine that each
paragraph in a document had a label that described the topic
discussed in the paragraph. Now one could encounter the phrase
"See the section <correct use of the passive voice>" which would
take you directly to the paragraph on passive voice. However,
where is that paragraph? What Chapter? What Page?
When the document is online and being accessed via a HyperText
processor, one simply points the mouse at the phrase <correct use
of the passive voice> and asks to see that paragraph. Whether it
is in chapter 10 or 2 is of no concern to the reader, the
HyperText processor will find it and present it to the reader.
HyperText documents do not have to be read linearly like a book.
One can begin in the section with the most interest and follow
the links around the document to explore the subject. The
creator of the HyperText document had only to attach descriptive
labels to the various sections of the document.
What is Hierarchical Text?
Hierarchical Text is an extension of outlines. Outlines are the
arrangement of topics in subordinate relationships. Rain and
snow are two examples of precipitation and they are properly
subtopics of precipitation in an outline of a paper on weather.
If the idea of an outline is extended to an arrangement of ideas
in subordinate relationships it becomes Hierarchical Text. Ideas
are paragraphs or groups of paragraphs and a paragraph on
precipitation might have subordinate paragraphs on the different
kinds of precipitation that one might expect to find.
How Thinker combines HyperText and Hierarchical Text
Thinker is a Hierarchical Text processor with HyperText. A
Thinker document is made up of a collection of paragraphs
(referred to as "statements" or "branches" in this manual)
arranged hierarchically and containing textual links to each
other. Each statement in a Thinker document can have a number
of labels and can be referenced by a textual string (a link) that
"names" one of the labels.
A statement that begins with "(" is labeled, and the labels are
strings of non-punctuation characters separated by commas (",")
between the first "(" and the closing ")" at the beginning of the
statement. A link in the text consists of the non-punctuation
characters between "<" and ">" characters anywhere in the text.
When a label is a single word, the link to it can be expressed
without the "<" and ">" characters. Thus, each word in a
Thinker document is a potential HyperText link to a statement
somewhere in the hierarchy of statements that make up the
document.
To expand the flexibility of Thinker, a link may contain the
name of a Thinker document other than the one in which the link
is found. The document name is separated from the label by a
comma. Thus, <Thinker:example,link> is a link to the section
labeled "link" in the Thinker document called "example" on the
disk named "Thinker".
When a statement has subordinate statements it is called a
branch. Thinker allows the manipulation of a document by
moving, copying, and deleting statements and branches. When a
branch is moved, all the subordinate statements are moved as
well.
Display parameters control the format of the text on the screen.
Thinker can be instructed to display only the first line of
each statement and give the appearance of a simple outline. By
controlling the depth of the outline visible, the user can
actually "see" very large portions of the document at one time.
When the document is manipulated while viewing it in outline
form, all of the text that is part of the document is moved when
the visible portions are moved.
What can Thinker "link" to?
A HyperText link can link to one of four things: 1) A Thinker
document, 2) An IFF picture file which can be displayed in a new
window (the picture is thus compressed in size and colors) or a
separate screen, 3) any Workbench application, in which case the
application is launched in its own window and runs as a separate
task (If a project is to be launched, there MUST be a project
icon. If an application is to be launched, it MUST have a Tool
icon), or 4) an ARexx port, in which case a message is sent to
the port.
The ability to link to other Workbench applications makes
Thinker into a HyperMedia product. Drawings, sound
applications, database applications, word processing applications
are all possible links in a single Thinker document.
How does one interact with Thinker?
All interaction with Thinker is via the Mouse and Menu system
of Intuition. There are no keyboard commands other than keyboard
activation of menus. Gadgets are available for common commands
and menus are available for the complete command set. Requesters
are used extensively to provide a highly responsive user
interface. These requesters always appear directly under the
mouse cursor with the cursor positioned over the most common
choice.
Text on the screen is modified as in many word processors. The
cursor is positioned in front of text that is to be modified and
typing is always in "insert" mode. Text is "selected" by
sweeping the cursor over a block of text while holding the left
mouse button down. Selected text can be "cut" from the statement
and "pasted" elsewhere or simply replaced by typing. Thinker
has "search" and "replace" functions to complete the editing
capabilities.
Thinker will print a document or prepare a text file for
manipulation by a word processor or typesetting program. This
manual was produced using Thinker and HPPrint (a Poor Person
Software typesetting program for the HP LaserJet Printer).
Thinker can also import text prepared by a word processor into
a Thinker document.
Thinker appears deceptively simple by design. The fact that
labels and links are merely parts of the text eliminates much of
the complexity associated with large numbers of obscure commands.
However, one should not be fooled by the appearance of
simplicity. The combination of Hierarchical text, Hypertext, and
Word Processing functions makes Thinker a powerful Idea
processor. Take the time to learn Thinker by working with the
tutorial project (EXAMPLE) found on the Thinker distribution
disk.
NOTE: Thinker uses a lot of memory. Lack of memory on CP/M and
PC DOS systems is what limited Thinker on these machines to a
mere toy. One of the uses of memory is to cache blocks of
documents in memory to avoid disk access. Poor Person Software
recommends the use of a Floppy Accelerator such as Facc II by ASDG.
The cache available in Thinker requires a good deal more memory
than Facc II to be as effective in reducing disk access. Do not
attempt to use Thinker without either enabling Thinker's read
cache (see menus explained under Options) or using a program like
Facc II.
Definitions
The terms used in describing a Thinker document have other
meanings in other environments. In order to clarify the following
discussion of Thinker, the most common Thinker terms are
defined here.
Anchor
The statement that appears at the top of the window is sometimes
referred to as the anchor statement of the window. The user
navigates around in a document by changing the anchor statement.
The anchor statement is changed with Jump commands.
Branch
A Branch is a statement with subordinate statements. When a
statement is inserted into a document, it may be inserted at any
level relative to the other statements in the document. A branch
is a statement at any level that has statements below it. A
branch may have a branch subordinate to it. A Statement with no
subordinate statements is sometimes referred to as a Branch.
Clipping Level
Clipping level refers to the number of document levels that are
displayed in a window. A window with a clipping level of 2 will
show only the two highest level statements. Clipping can be used
to view a hierarchical document at different levels of detail.
The document can be manipulated with clipping levels that exclude
much of the document from the screen. All of the invisible text
is moved with the visible text.
The clipping level can be chosen for the entire document or for
single branches. The Clip gadget at the top of the screen or
the Clip menu sets the clipping level that applies to the
document as a whole. "+" or "-" gadgets in front of statements
manipulate the clipping level applied to the single branch.
Group
A group is a selected sequence of branches at the same level.
Jump
When the anchor statement of a window is changed, a different
portion of the document becomes visible in the window. This is
referred to as a jump. Jumps can be made relative to a statement
visible on the screen or relative to a statement named in a link.
It is also possible to jump to picture files and Workbench
applications.
Label
Any statement in a Thinker document may have labels. A label
is a name by which the statement is known and is like a key in an
indexed file. Thinker recognizes a statement that begins with
"(" as its first character as being a labeled statement. The
labels are substrings of all of the non-punctuation characters
between the initial "(" and a trailing ")" separated from each
other by commas. "(These,are,labels)" is a label string with 3
labels. The case of letters in a label is not significant and
only the first 19 non-punctuation characters are significant.
Labels in a Thinker document need not be unique. Any request
to jump to a label that is not unique will cause a requester to
appear which displays the first characters of all statements with
the non-unique label. The user points at and clicks on the
desired statement to select the target of the jump.
Level
Statements are arranged in a hierarchy. The most important
statements are at level 1. Level 2 statements are subordinate to
level 1 statements as in an outline. Thinker does not limit
the number of levels in a document but the display on the screen
will be less than satisfactory for more than about 30 levels.
Link
A "link" is the appearance of a label in the text. A link is
either a single word or a string of characters delimited by "<"
and ">". A link consists of two parts. Part one is optional and
names a project, Thinker document or file. Part two is
separated from part one with a "," and names a branch. Picture
file links consist of only the file name and the comma as in
<Thinker:art/mirage,>. Links may by typed into requester strings
as the address of statements when certain operations invite the
user to designate a statement. Links typed into requesters do
not have the surrounding "<" and ">" characters. Links can be
activated by putting the cursor over the link in the text and
double clicking the left mouse button or by using the Jump Link
command.
Links may designate labeled statements in the same or different
Thinker document, IFF picture files, any Workbench
application such as a music player, paint package, or CAD
application, or an ARexx port. Use the file name or program name
in the file portion of a link followed by a comma to specify a
link to an application.
Mark
Thinker sometimes invites the user to designate a statement as
the target of an operation such as "delete" or "move". The user
may elect to mark the statement on the screen or type in a link
that designates the statement. A statement is marked by moving
the Pointing Cursor (a hand) such that the hand points to the
statement and pressing the left mouse button.
Origin
The first statement in a document is referred to as the origin
statement. The origin statement may be moved or deleted in which
case some other statement becomes the origin statement.
Plex
A complete group of statements. All of the subordinate
statements in a branch constitute a plex. All the first level
statements in a document constitute a plex. A plex is designated
by pointing to any member of the plex.
See Through Link
Links can be used to extract statements from one document into
another. The statement named in a "See Through Link" can be
displayed on the screen in place of the link. This allows a
Thinker document to be a composite of other Thinker
documents. Details about the nature of "See Through Links" are
found in the section of the manual describing the "Enable
See-Thru" menu selection (under "Options").
Statement
A statement is a block of text. Statements are like paragraphs
in many word processing programs. Thinker does "word-wrap"
within a single statement but not across statements. Text
selection (by sweeping the cursor over text with the left mouse
button held down) is limited to text within a single statement.
Statements may contain up to 2000 characters of text including
standard and extended characters from the Amiga keyboard. The
<ESC> and carriage return characters are also allowed.
View Specifications
The appearance of the text in the window is controlled by three
parameters that together are called the view specifications.
These parameters are "Clipping level", "Spacing", "Number of
Lines" and are each explained in the Options Menu section.
Window
Only a small portion of a Thinker document can be displayed on
the screen at any time. Thinker uses Intuition windows to view
portions of a document. Up to 8 windows may be open at any time.
Each window may display a portion of a different document or
different portions of the same document.
Thinker Documents
Thinker documents are not always meant to be read linearly.
While this manual was created using Thinker, many uses of
Thinker take more advantage of the Hypertext and Hierarchical
text features. A skilled Thinker user creates documents with a
definite flavor. These documents do not always read well when
flattened and printed on paper and are meant to be read online.
Outline nature of Thinker documents
If a Thinker document is viewed with a clipping level of 1,
only the first level statements (often these statements are topic
names or section headers) will be shown. It is rare but not
impossible to have blocks of text at this level. An executive
summary is presented with the clipping level set at 2. As the
clipping level is increased, more and more details are revealed.
If Thinker is used to design a program one would expect to find
code fragments or pseudo code at the deepest levels of the
document.
Hypertext features
Information is only presented once. A reader should be able to
start reading a Thinker document at the topic of most interest.
All references to terms that require a definition in the context
of the document should always have a link to the section of the
document where the term is defined. The fact the Thinker will
treat any word as a link means that a Glossary section could
define all terms and contain links to the sections that provide
further clarification.
When a new term is encountered, the reader double clicks on the
word to open a window over the Glossary section defining that
term. If there is more information available then the Glossary
entry will contain a link to the section of the document where
the term is introduced and described in detail. Double clicking
on the link can move the Glossary window to the detailed
information.
These links make Thinker ideal for online help where the reader
can go directly to the section of interest and still be able to
locate quickly all the pertinent information.
See Through Links make it possible to automatically extract
information from one document into another without double
clicking on the link. A new Thinker document might summarize
the information in many other documents by using See Through
Links. When the information in the original documents is
updated, the new summary document will display the changes.
Planning a book
One possible use of Thinker involves coordinating all the
details of a novel. One technique that might be of value is to
have several major sections of a Thinker document for various
aspects of the planning process. One section would have a
labeled branch for each character in the book. Other sections
would describe historical events of interests and descriptions of
each location. Each of these sections would have labeled
statements for each detail.
The section of the document that describes the story line (plot)
of the book would contain links to the sections containing
detailed information. The plot can be reviewed without having to
wade through details that might confuse the issues. As needed,
each reference in the plot to details about characters, scenes,
events, etc. could be checked by jumping to the section of the
document where this information is found. Multiple windows help
organize the thought process.
Small Example:
(Characters)
(Anastasia) - The heroine
Lots of stuff about Anastasia
(Scrully) - The hero
Lots of stuff about Scrully
(Places)
(San Francisco) - Home of Anastasia
Lots of stuff about SF
(San Jose) - Home of Scrully
Lots of stuff about SJ
(New York) - Place of story
Lots of stuff about New York
(Plot)
Anastasia meets Scrully in <New York>
They marry and raise a family
The End
Organizing picture files
Since links may be to IFF picture files, one use of Thinker
might be to build a catalog of picture files. Each section of
the document would have a first level statement with a label
indicating the type of pictures indexed. The subordinate
statements would contain descriptions of the picture and a link
to the picture file. Pictures are located by jumping to the
section of the document with the descriptions for the correct
type of picture and then double clicking on the link to the
correct picture.
Small Example:
(People)
(Lauren) <Thinker1:art/lauren,>
(Bob) <Thinker1:art/bob,>
(Birds)
(Bluebird) <Thinker1:art/bluebird,>
.....
Thinker documents as databases
Labeled statements in Thinker documents are much like indexed
records in a database. There is a great deal of flexibility
above the typical database, however. Records are not a fixed
format. Records can contain a variable number of pointers to
other records. Records can be part of a document meant to be
read.
Using Thinker to write is like writing inside a database as
references can be checked with the click of a mouse button.
Using Thinker is like having a completely free form database
with references to applications, pictures, and documents.
A Small Example:
(Distributors)
(American Software) - Address
(Dealers)
(Winner's Circle) - Address
(HT Electronics) - Address
(Unregistered buyers)
(Nymous-A) - Address
Orderdate:
Shipdate:
(Registered buyers)
(Huxtable-P) - Address
Orderdate:
Shipdate:
Amount:
Registration:
Thinker as a desktop organizer
A desktop document can be used as an alternative to the
Workbench. Within the document are labeled statements covering
various working task areas such as Letter Writing, Programming,
Finance, etc. Subordinate to these statements are labeled
statements for each task in that area. These statements describe
the task and may include sentences describing the progress of the
task. Finally, there are links within the statements that name
the Project or Tool used to work on the task. A description of a
program might contain the name of the source for the program so
that you can link directly to the source and work on it within
your favorite editor. Other statements can link to other
Projects and Tools, any of which can be launched in multitasking
mode.
A Small Example:
(new projects)
(Thinker) - Learn thinker <Thinker:example,>
(old projects)
(whoopydo) - Work on favorite program <Source:whoopy.c,>
(appointments)
(Monday) - Meet Alice at Restaurant
Viewing a Document
A Thinker document is a hierarchy of statements. There are three
view specifications that control what portions of this hierarchy is
visible on the screen.
Clipping level
The clipping level controls the depth of the hierarchy that is
displayed. A clipping level of 1 displays only the first level
of the hierarchy (the major topics) and as the clipping level
is increased more details are displayed.
There is a global clipping level controlled by menu options and
the Clip gadgets at the top of the screen. Each branch has a
local clipping level controlled by gadgets in front of the
statements. Local clipping levels are always higher than the
global levels.
A document can be searched rather quickly by starting with a
global clipping level of 1 and using the local clipping gadgets
to expand the areas of interest.
Number of lines shown in each statement
The document can be viewed as an outline by setting the view
specifications to display only the first one or two lines of
each statement or the full document can be viewed by setting
the view specifications to display all lines in each statement.
Spacing between statements
The spacing can be adjusted to maximize the amount of material
on the screen or to maximize the readability of the material.
One views a linear document by scrolling over the document. One
views a non-linear Thinker document by moving the window to
particular places in the document with the Jump command. Jumps can
either be relative to the document structure or can use links.
Structure relative jumps include moving the window up and down in
the hierarchy or forward and back at the same level.
Links provide the most flexible way to navigate around a set of
Thinker documents. A link in the text ties the displayed text
directly to text elsewhere in the document or in another
document. Links may be typed into a string gadget or found
displayed on the screen. If a link is displayed on the screen
merely double clicking the cursor over the link executes the
jump. Any single word in a Thinker document can be a link!
For those times when it is desired to scroll linearly through a
document several scrolling gadgets are provided. Scroll forward
can be by single line or single statement. Backward scrolling is
by statement only. There are Jump commands that jump forward by a
full screen or back by a statement. It is worth remembering that
Thinker documents can be much larger than the Amiga Memory and
only the active portions of the document are in memory. This and
the fact that Thinker documents are randomly accessed files makes
it impossible to provide scroll bars.
Editing
Text within a statement is edited much like text in a standard word
processor.
The cursor is positioned by using the mouse or cursor keys. The
cursor keys move the cursor within a statement, between statements,
and will cause line by line scrolling forward or statement by
statement scrolling backward. When the mouse is used to position
the cursor, the left mouse button is used to mark the place in the
text. Subsequent typing inserts characters at the cursor location.
"Backspace" deletes a character to the left of the cursor and moves
the cursor to the left. "Delete" deletes a character to the right
of the cursor and does not move the cursor.
All printable keyboard characters are allowed in text (including
alternate characters). In addition the <ESC> character and <CR>
character are allowed. The <ESC> character is useful for imbedding
printer commands in text. The <CR> (carriage return) character is
used in formatting tables as a single statement rather than as a
group of statements. The <CR> character is visible as "~" and
causes the cursor to move to the next line of the statement in the
first column of the statement. A <New Line> character is put into
the text.
A block of text may be selected by holding down the left mouse
button while moving the cursor over the text on the screen. Only
text that is totally within a single statement can be selected in
this fashion. Once selected, the text can be "Cut" from the
statement and "Pasted" at some other location. Selected text is
replaced by any typed characters and the selected text is forever
lost.
Undo is supported with the "Revert" menu selection. All
modifications including structural changes are deleted. The user
may select "undo points" by using the "Save" menu selection. In
fact no changes are recorded until Save is selected. There is a
reminder warning presented if the user attempts to leave Thinker
without a Save. The requester gives the opportunity to save or
discard the changes.
Search and Replace operations are selected from the Edit menu.
Manipulating the Structure
Statements in a Thinker document may be moved within the
hierarchy, moved to another document, copied to other places in the
same document, or copied to other documents or deleted. The
movement, copying, or deletion of statements does not require that
the entire structure to be moved, copied or deleted be visible on
the screen as parts of the structure may be obscured by the
selection of viewing specifications.
It is the ability to manipulate whole structures of the document
that make the hierarchical text such a powerful tool. The viewing
specifications can be set to view the document in its outline form
(set the number of lines for each displayed statement to 1) and the
entire document can be restructured.
Move and Copy and Delete options are available for individual
statements, branches, and groups of statements or branches. In all
cases a sequence of requesters walks the user through the
operation. Some of these requesters have a "Previous" gadget which
will recall the previously typed string gadget.
The structure manipulation commands can be initiated from the
menus, from the gadgets at the top of the window, and from the
"power tools" requester. The "power tools" requester is initiated
by double clicking on the right mouse button. From this requester
it is possible to directly insert a statement or initiate a Move,
Copy, Delete, or Jump command.
A Tutorial Example
The first part of the tutorial will walk the user through the
process of building a Thinker document. The second part of the
tutorial makes use of an existing Thinker document called
"example". In the following examples do not type the '"'
characters.
The Thinker document "Example" is a tutorial that leads the user
through a short example of using Thinker to view and manipulate a
document. Duplicate the EXAMPLE document using the "Duplicate"
option of the "Workbench" menu before trying the tutorial. If you
want to recover the original EXAMPLE document you can discard the
EXAMPLE icon and "Rename" the "copy of example" icon.
Start the first part of the tutorial by double clicking on the
Thinker icon. This will start the Thinker program and bring up
a window with the basic gadgets and menus but will have no document
displayed. At this point we might jump into some existing document
or create a new document. One would jump into an existing document
with the Jump Link command and create a new document with the
Create New menu selection (in the Project menu).
As an example of jumping into an existing document, there is a
section in the "example" project that explains the format of a
link. The label on this section is "link". To jump to that
section, begin by selecting the Jump Link command (either from the
menu bar or by selecting the "Jump" gadget at the top of the window
and then selecting the "Link" gadget in the Jump Requester.) Next,
type in the string "example,link" (without the " marks) followed by
typing the "RETURN" key. Finally, select the "This Window" gadget
in the Jump Confirmation Requester.
Typing the string "example," (note the comma but no label typed
after the comma) would jump to the beginning (origin) of the
document "example".
Whether or not you take the diversion suggested by the previous
paragraphs, you create a new Thinker document by selecting the
"New" menu option from the "Project" menu. Do so now. Note that
a requester pops up inviting you to enter a project name. The
first part of the requester is filled in with the name of the
current Drawer. Since you double clicked the Thinker icon
directly, this Drawer name will be the Drawer in which the
Thinker program was found. The Requester is already activated so
simply type in the name of your new project. In this example we
use the name "tutorial". If you entered the name "example" you
will be greeted by a requester asking if you want to replace the
"example" project that already exists. You should respond by
selecting the CANCEL gadget and begin again typing the name
"tutorial".
After some disk activity the window will display the new document
(note the change in the window title) and the document will contain
a single statement (a Copyright notice). The first thing to do is
to replace the Copyright notice with the first statement of our new
document. You might try using the Delete (Branch) command but you
will find that you cannot delete the only branch in a document.
Move the pointer over the Copyright notice and observe that while
the pointer is within the statement it is shaped like a cursor.
Move the cursor shape to the very beginning of the statement and
press the left mouse button. While holding down the left mouse
button, move the cursor to the end of the statement. Notice that
the selected text becomes highlighted as you move the cursor. When
you have the entire statement selected, release the left mouse
button. Type in the string "What I did last Summer" (do not type
the RETURN key). Notice that the selected text is removed and
replaced with the typed string.
Now we are going to add some statements. This initial document
will look a great deal like an outline. Remember that any
statement you type could be as long as 2000 characters and fill the
entire window. In order to keep this first example short, we will
only type a few words in each statement.
Select the "Insert" gadget at the top of the window. Note that the
pointer changes into a hand with a pointing finger. Move the hand
so that the finger points at the first statement. Press the left
mouse button and notice that an Insert Confirmation Requester pops
up with the pointer pointing to the word "After". If you wanted
this new statement to be directly after the first statement, you
would simply press the left mouse button again. Instead, move the
pointer over the word "Down" in the requester and press the left
mouse button. Notice that the text insert cursor appears on the
screen just below the first statement and indented by two
characters. Type the string "(school)Went to Summer touch typing
classes.".
Select the Insert gadget again and move the hand to point to the
statement you just typed. Press the left mouse button twice (the
first time selects the statement and the second time selects the
word "After" in the confirmation requester.) Type the string
"(beach)Went to the beach with Bob and met his little girl Lauren."
(Who is Bob?) Bob is someone that attended the same typing class
so you will want to put any information about Bob in statements
that are subordinate to the statement labeled "school". Position
the pointer over the first statement (the one labeled "school") and
double click the right mouse button. The Insert Confirmation
Requester should pop up and you should select the "Down" gadget.
Type the string "(bob)Met Bob, a computer science student who
wanted to learn typing skills."
Move the pointer back to the last statement "(beach)Went...." and
position the cursor over the word "Bob" and double click the left
mouse button. Notice that the Jump Confirmation Requester pops up
with the pointer positioned over the words "This Window". Move the
pointer over the word "New Window" and press the left mouse button.
Notice that the new window opens with the statement "(bob)Met
Bob,..." as the anchor of the window. This is an example of a
hypertext link. "Bob" is the label on the statement "(bob)Met..."
and the double click of the left mouse button with the cursor over
the word "Bob" was a Jump Link command. The same effect could be
caused by selecting the "Jump Link" command from the "Commands"
menu, or by selecting the Jump (Link) gadget at the top of the
window and typing the characters "bob" followed by RETURN.
Who is Lauren? Position the cursor right after the word "Lauren"
and press the left mouse button once. The text input cursor should
appear between the "n" and the ".". Type the string " (See
<Thinker:art/lauren,>)". This is a link to a picture file. Note
that the comma must be present to indicate that the link is to some
other file and not the document shown in the window ("tutorial").
You have just added a hypertext link to an IFF picture file. This
link had to be surrounded by "<" and ">" because it contained
punctuation characters (":" and ","). Move the cursor between the
"<" and the ">" and double click the left mouse button. When the
Picture Confirmation Requester pops up select the "Full Screen"
gadget. After a pause, a picture of Lauren appears (From the
NewTek "Digi Paint" package.) Typing any character or pressing the
left mouse button will remove the picture and return the Thinker
screen. Repeat the selection of the picture link and select the
"New Window" gadget. This time an approximation of the same
picture will be drawn in a new workbench window that you may move
around on the screen. This approximate picture is drawn with the 4
colors available on your workbench. The window has an invisible
close gadget in the upper left corner that will close the window
when selected.
If you want to save the changes you have made to this new project,
select the "Save" menu selection from the "Project" menu. "Revert"
will restore the project to its initial state (with the Copyright
notice).
This completes the first part of the tutorial. The second part of
the tutorial uses an existing document called "example". You can
begin by closing the Thinker window (select the close gadget in
the upper left corner) and starting all over again by double
clicking on the EXAMPLE icon, or by doing a Jump Link to "example,"
(don't forget the comma). In either case you should read the next
paragraph before going on with the second part of the tutorial.
Note: When a file name is selected in the file requester, the
comma is optional unless you wish to add a label.
Start the second part of the tutorial by double clicking on the
EXAMPLE icon or by selecting the icon and use the "Open" option of
the "Workbench" menu. Read carefully and follow the instructions.
It is helpful if you read ahead a little before executing the
instructions. The tutorial is not very long or complicated but is
intended solely to give the reader a little familiarity with the
behavior of Thinker and build a little confidence for the first
time user of Thinker.
Not So Obvious Features
Most of the operation of Thinker can be discovered by exploring
the menus and selecting the gadgets. There are, unfortunately,
some behaviors that are not manifest by this exploration. There
are also some curious restrictions. Poor Person Software tries
hard to produce software that is useful and complete but without
all the frills that would make it expensive.
Restrictions
When the Mark option is used for both the beginning and end of a
group, both ends of the group must be in the same window.
Only 19 characters of a label are significant.
Only the first 32 statements with duplicate labels can be reached
via a Jump Link.
Features
Window Memory Buffer
When statements are displayed in a window, the text information
is in a memory buffer where it is easy to update the data based
on the keyboard input. Any time that a Jump command is
executed, "Save" is requested, or another project is opened,
the changes in the memory buffer are moved into the Update
Pool. When there are changes in the Update Pool a "*"
character appears in the title line in front of the "Thinker
n.nn" string. Since the Window Memory Buffer is not moved into
the Update Pool at each keystroke, the "*" will not appear
immediately upon making a change in the window. Selecting the
window sizing gadget will write the Window Memory Buffer into
the Update pool.
The presence of the Window Memory Buffer is only important when
there are multiple windows open over the same document.
Changes made in one window are not visible in another window
until the Window Memory Buffer for the changed window is
written into the Update Pool. The previous paragraph contains
a discussion of when the Window Memory Buffer is written into
the Update pool.
The Update Pool is where modifications to a Thinker document
are stored until the user selects either "Save" or "Revert".
After one of these selections the Update Pool is emptied.
Read Cache
Thinker keeps a cache of the all modified portions of a
Thinker document in its memory (the Update pool) but only a
small portion of the document that has been read from the disk
is kept in memory (a read cache). Since Thinker documents
are randomly accessed AmigaDOS files, updating the screen could
be a painfully slow process without this read cache. The read
cache is small and can be turned off if some Floppy Accelerator
like Facc II from ASDG is used. ASDG did such a good job that
Poor Person Software did not feel that it was worth the time to
include much of a read cache in Thinker. The read cache is
large enough to insure that screen updates are reasonably fast.
As an alternative, small documents can be copied into the RAM:
device and manipulated there. When you are finished and have
saved all your changes, copy the document back to a disk.
Undo
Once modifications have been applied to a Thinker document
they cannot be "undone". However, Thinker will accumulate
all the updates to a document in its memory (the Update pool)
until "Save" is selected in the Project Menu. The user should
learn to schedule updates to allow for backout of recent
errors.
Remembering Local Clip adjustments
When the clipping level for a branch is adjusted using the "+"
gadgets in front of statements, this action is recorded in a
small in-memory data base. This database has room for 32
selections of "+" gadgets in each project. If the 33rd entry
is made into this database, the oldest entry is purged.
Power Tools
Double clicking the right mouse button with the cursor
positioned over a statement will cause Thinker to enter
"power tool" mode. An insert confirmation requester and a set
of tool gadgets will appear and invite the user to select a
relative level to insert a new statement (as in the last step
of the insert command) or to select a Jump, Move, Copy or
Delete tool. If the pointer is within a statement (showing the
text pointer) and the user selects one of the levels, a
statement will be inserted. If a tool gadget is selected
Thinker behaves as if the tool gadget at the top of the
window was selected.
The number of open documents is limited to 16
When Thinker jumps to a new document, it must open a new
AmigaDOS file. Since there may be outstanding updates on the
document that was jumped from and you may soon return to that
document, the document is not closed. After 32 such jumps you
will have to use the "Close" menu item under the "Project" menu
to close some project. Close closes the document visible in
the active window.
Fast Jump Link
Double clicking the left mouse button with the cursor
positioned over a link (or word) is equivalent to doing a Jump
Link command with the Mark option and positioning the hand over
the link (or word).
Keyboard Confirmation of Jumps
In all cases when the confirmation requester is brought up to
complete a jump. The confirmation can be effected by typing
the RETURN key on the keyboard.
Summary of Release 2.1 features
With the features added in release 2.1, Thinker has become a
general purpose word processor and database as well as a powerful
Hypertext idea processor. The major features are summarized
below. The section that follows this one describes the rest of the
enhancements, and following that are the details of all of the
changes are organized in a fashion that parallels the Thinker
manual.
Images as Statements
Images that are displayed in workbench windows can be
incorporated into as statements in a document. To make this
option more attractive, the picture display options have been
expanded to include a new smaller size and extended color
selection using a color dithering technique that allows the
display of 10 colors on the Workbench screen.
The new smaller size is 160 x 50 pixels on a non-interlaced
screen or 160 x 100 on an interlaced screen. This size has been
dubbed the "Xfer" window size as it is anticipated that this is
the most common size to transfer into a document.
Pictures are first displayed in one of the workbench windows and
then the most recently displayed or touched (click the mouse over
the window to touch it) picture window can be inserted into the
document using the "Insert Image" command.
No provision is made for printing pictures. Printed or exported
documents will display a small box for each included image.
Mixed Text Styles and Colors
It is possible to display portions of statements in any of the
standard text styles (Italic, Bold, Underlined) and any
combination of these styles. Simply select the text by sweeping
the cursor over the text with the left mouse button held down and
then use the Style menu to select the style.
A typing style may be selected for future typing by selecting
from the Style menu without selecting text.
Foreground and background text colors are handled similarly. You
may wish to select an alternate color for text that represents a
link but the color selection is NOT considered when isolating or
selecting links.
Saved Environments
A complete multi-window, multi-file environment can be saved and
restored later. The Save Options menu selection saves the entire
environment in the icon of the file displayed in the window that
is active when the menu option is selected. When this file icon
is used to launch Thinker, all the windows that were active when
Save Options was selected will be opened displaying the same
files. If any window was positioned at a label in a file when
Save Options was selected then the window will be positioned at
that label when Thinker is launched.
Options in the Thinker Icon
The default options for Thinker can set in the Thinker icon. Any
time that Thinker is launched the Options and Behavior settings
are first read from the Thinker icon and then from the file icon.
The options strings in the Thinker icon can be inserted and
edited using INFO from the Workbench.
Improved display speed while typing
The display speed has been improved and now keeps up with
moderate speeds of auto-repeat.
New Behaviors
This section describes the remainder of the Release 2.1 features.
Be sure to check to sections that follow for the details of menus,
requesters, and gadgets.
CLI Interface
The special link <CLI,command> uses ICONX to execute the
"command" command in the CLI environment. "Command" can be any
legal CLI command or set of commands separated by line feed
characters. Line feed characters are entered at the keyboard
while typing into a statement using the "Return" key and show up
on the screen as ~. When typing a CLI command string into the
Jump Link string gadget, type the "~" character to indicate
Carriage Returns.
The ICONX program must be in the C: directory for this special
link to work.
File Name Prefixes
For some applications it is awkward to have the full pathname of
files as part of links. If the file is moved from one floppy
disk to another or from one directory to another, then all the
documents which contain the link must be changed. The use of
file name prefixes alleviates this problem.
The CLI environment has a mechanism called ASSIGNS that solves
this problem for CLI programs. If fact ASSIGNS can be used for
Thinker links. A link of the form <ABC:filename,label> would
look on the floppy disk with the label ABC: or if there were an
active ASSIGN of the form "ASSIGN ABC: HD0:xyz" would look on the
hardisk in directory "xyz".
Thinker has a similar mechanism. You can use INFO to add file
name prefixes to the Thinker icon. These prefixes act similarly
to ASSIGNS. If there is a tooltype of the form "ABC:=HD0:xyz/"
then links of the form <ABC:filename,label> would be resolved as
"HD0:xyz/filename,label". The string on the right side of the
tooltype is substituted for the string on the left side when
found at the beginning of a link file name.
Cursor Positioning
The cursor can be moved quickly to the beginning or end of
statements or lines using combinations of the cursor keys and the
Alt or Shift keys.
Shift-LeftCursor moves the cursor to the beginning of the line.
Alt-LeftCursor moves the cursor to the beginning of the
statement.
Shift-RightCursor moves the cursor to the end of the line. Note
that the cursor always appears at the beginning of the next line
when it is logically at the end of a line. Alt-RightCursor moves
the cursor to the end of the statement.
Keyboard scrolling
Scrolling can be accomplished using the Up/Down cursor keys in
combination with the Alt/Shift keys. Alt-Up and Alt-Down scroll
the window one statement backward and one statement forward
respectively. Shift-Down scrolls the window forward a single
line.
Null Replacement Strings
When replace is selected from the Search/Replace requester the
replacement string is now always used. In previous releases a
NULL replacement string was treated as a search only. In this
release the NULL replacement string is treated properly. The
located string is removed from the text.
Minimizing Jump Return Points
Scrolling the window no longer fills up the Jump Return list.
However, if one jumps to a statement and then scrolls forward
followed by a jump, the last scroll position is put into the Jump
Return list. Thus the sequence Jump to "A", scroll to "B" and
jump to "C" would leave "A", "B", and "C" in the Jump Return
list. Jump return from "C" will go to "B" and then to "A". The
positions between "A" and "B" that were visited as part of the
scroll operations will be skipped.
Wider Requester for Duplicate Labels
When duplicate labels are presented for selection on a Jump to a
label that is duplicated, the entire width of the screen is used
to display the text of each of the statements.
New Definition of Up
For the Insert, Copy, and Move commands the definition of "Up"
has been changed. Selecting "Up" from the confirmation requester
puts the statement(s) immediately above the marked statement.
This is equivalent to splitting the plex at the insertion point
and putting the second half of the plex subordinate to the
inserted statements.
Search behavior with small windows
In previous releases a search that located a string in the second
half of a large statement might not show the located string on
the screen if the entire statement did not fit in the window.
This situation was particularly evident with small windows
displays only a small portion of a statement.
This error is corrected in this release so that the located
string is always displayed even if the statement must be
displayed starting in the middle. In effect the statement is
scrolled until the located string is the first thing displayed.
If you need to do a CHANGEALL operation, you will find that it
proceeds much faster in a small window.
Clock alternates with Free Memory
The clock display in the upper left corner of the screen
alternates with a free memory display.
Automatic Close of Unneeded Files
With this option selected, files are closed as soon as they are
not displayed in any window and have no updates. The advantage
is that if you jump from file to file on several floppy disks
while browsing, you will not be asked to insert all the floppies
when you select Quit.
Case Independent Sorts
An option on the Sort command allows a choice between honoring or
ignoring the case of characters during the sort. If the case is
honored, then the lower case alphabet follows the uppercase
alphabet.
Link Extensions
Labels in links can be followed by a series of directives that
extend or refine the link. Commands include movement relative to
the label (Down, Preceding, etc) and highlighting a phrase within
a statement.
Line Length Selection
The length of the line used for PRINT and for EXPORT with
PREFIX=! can be selected.